#ifndef STMTTABLE_T
#define STMTTABLE_T

#include <vector>
#include <string>
using namespace std;

typedef struct{
	int lineNum;
	string type;
	int procNum;
	int index;
}stmt_t;

typedef struct{
	int lineNum;
	int loopStartLine, loopEndLine;
}while_t;

typedef struct{
	int lineNum;
	int thenStartLine, thenEndLine;
	int elseStartLine, elseEndLine;
}if_t;

class StmtTable{
private:
	vector<stmt_t> stmtTable;
	vector<while_t> whileTable;
	vector<if_t> ifTable;

public:
	StmtTable();
	void setStmtTable(vector<stmt_t>);
	void setWhileTable(vector<while_t>);
	void setIfTable(vector<if_t>);
	stmt_t getLineDetails(int);
	vector<while_t> getWhileTable();
	while_t getWhileDetailFromLine(int);
	vector<if_t> getIfTable();
	if_t getIfDetailFromLine(int);
	vector<stmt_t> getStmtTable();
};

#endif